home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 7 / BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso / Files / Bus / H-L / Invoicer.cpt / Invoice Statement < prev    next >
Text File  |  1987-04-07  |  6KB  |  282 lines

  1.   DimItAll:
  2.     DIM billed(500): DIM datebilled$(500)
  3.     cnt = 1
  4.   CodeChk:
  5.     CLS
  6.     TEXTSIZE (24):TEXTFACE(5)
  7.     PRINT:PRINT SPC(9);"STATEMENT"
  8.     TEXTSIZE(12):TEXTFACE(0)
  9.     INPUT"Customer Code ('help' for code list): ",CO$
  10.     IF CO$="help" OR CO$ = "h" THEN CLS: GOTO ListCodes
  11.     IF CO$="quit" OR CO$="q" THEN CLS:LOAD "Open Me First",R
  12.     IF LEN(CO$)<>2 THEN RUN
  13. GOSUB Code
  14.  
  15.   SecScreen:
  16.     CLS
  17.     
  18.   Address:
  19.      TEXTFACE (1)
  20.      PRINT CN$
  21.      PRINT AD1$
  22.      PRINT AD2$;", ";AD3$;"  ";
  23.      PRINT zp$
  24.  
  25.   PrntBF:
  26.      OPEN CO$ FOR INPUT AS #1
  27.      INPUT #1, BF
  28.      bal=BF
  29.      IF BF = 0 THEN PRINT:PRINT"CUSTOMER BALANCE IS 0": GOTO Buttonz
  30.      CLOSE #1
  31.      PRINT
  32.      PRINT"Statement Date:  "; DATE$;
  33.      db$=DATE$
  34.      PRINT SPC(9);"Balance Forward:  ";
  35.      PRINT USING "$$###.##";BF
  36.      TEXTSIZE (9): TEXTFACE (1)
  37.      PRINT
  38.      PRINT SPC (1);
  39.      PRINT"Date";SPC(18);
  40.      PRINT"Amount"; SPC (9);
  41.      PRINT"Outstanding"
  42.      TEXTSIZE (12): TEXTFACE (0)
  43.      WINDOW 4,"",(10,150)-(318,325),3
  44.  
  45.   SkipZip:
  46.      OPEN "Accts Billed" FOR INPUT AS #1
  47.   Reedata:
  48.        IF EOF(1) THEN Loop
  49.        INPUT #1,ts$
  50.        INPUT #1,CO$
  51.        IF CO$<>cd$ THEN INPUT #1, X$: INPUT #1, Y$: INPUT #1, Z$: GOTO Reedata
  52.        INPUT#1, db$
  53.        INPUT#1, CN$
  54.        INPUT#1,IT$
  55.            
  56.            billed (cnt) = VAL(IT$)
  57.            datebilled$(cnt) = db$
  58.            cnt = cnt +1
  59.        GOTO Reedata
  60.    
  61.    Loop:
  62.        FOR x = cnt-1 TO 1 STEP -1
  63.        whatzleft = bal - billed(x): bal = whatzleft
  64.        seccnt = seccnt +1
  65.        IF bal =< 0 THEN ThatzIt
  66.        NEXT
  67.        
  68.    ThatzIt:
  69.        WINDOW OUTPUT 4
  70.        FOR x = cnt-1 TO (cnt - seccnt) STEP -1
  71.        IF x = (cnt - seccnt) AND bal <> 0 THEN PrntLast
  72.        TEXTFACE(0)
  73.        PRINT datebilled$(x);SPC(7);
  74.        PRINT USING "$####.##"; billed(x);
  75.        PRINT SPC(6);
  76.        TEXTFACE(1)
  77.        PRINT USING "$####.##"; billed(x)
  78.        NEXT
  79.        GOTO Buttonz
  80.        
  81.    PrntLast:
  82.        partialbilled = billed (x) + bal
  83.        TEXTFACE (0)
  84.        PRINT datebilled$(x); SPC(7);
  85.        PRINT USING "$####.##"; billed(x);
  86.        PRINT SPC (6);
  87.        TEXTFACE (1)
  88.        PRINT USING "$####.##"; partialbilled
  89.        
  90.    Buttonz:
  91.        WINDOW 3,"",(325,150)-(485,325),3
  92.        BUTTON 1,1,"again",(10,10)-(150,40),1
  93.        BUTTON 2,1,"print",(10,50)-(150,80),1
  94.        BUTTON 3,1,"new",(10,90)-(150,120),1
  95.        BUTTON 4,1,"quit",(10,130)-(150,160),1
  96.        WHILE DIALOG(0)<>1:WEND
  97.        ButtonPushed = DIALOG(1)
  98.        IF ButtonPushed = 1 AND BF = 0 THEN Buttonz
  99.        IF ButtonPushed = 2 AND BF = 0 THEN Buttonz
  100.        IF ButtonPushed =1 THEN  WINDOW OUTPUT 4: CLS: GOTO ThatzIt
  101.        IF ButtonPushed=2 THEN PrntWarning
  102.        IF ButtonPushed =3 THEN  WINDOW OUTPUT 1:CLS: WINDOW CLOSE 3: WINDOW CLOSE 4 : GOTO YourChoyce
  103.        IF ButtonPushed =4 THEN WINDOW OUTPUT 1: CLS: WINDOW CLOSE 3: WINDOW CLOSE 4: LOAD "Open Me First",R
  104.  
  105.   PrntWarning:
  106.     WINDOW 2,"",(35,185)-(290,285),2
  107.     TEXTFACE(1)
  108.     PRINT:PRINT"Please make sure printer is turned"
  109.     PRINT"on and loaded with paper."
  110.     BUTTON 1,1,"OK",(105,55)-(165,75),1
  111.     BUTTON 2,1,"cancel",(185,55)-(245,75),1
  112.     WHILE DIALOG(0)<>1:WEND
  113.     ButtonPushed =DIALOG(1)
  114.     IF ButtonPushed=1 THEN WINDOW CLOSE 2:WINDOW OUTPUT 4:CLS
  115.     IF ButtonPushed=2 THEN WINDOW CLOSE 2:WINDOW OUTPUT 4:CLS:GOTO ThatzIt
  116.       
  117.     ThatzzIt:
  118.         FOR mp=1 TO 7
  119.          LPRINT CHR$(10)
  120.          NEXT
  121.          LPRINT TAB(8); CN$
  122.          LPRINT TAB(8); AD1$
  123.          LPRINT TAB(8); AD2$;", ";AD3$;
  124.          LPRINT zp$
  125.  
  126.   SkpZp:
  127.     FOR mp= 1 TO 2
  128.     LPRINT CHR$(10)
  129.     NEXT
  130.     LPRINT TAB(2); "Statement date: "; DATE$;
  131.     LPRINT TAB(60);"Balance forward: ";
  132.     LPRINT USING "$$###.##";BF
  133.     FOR mp= 1 TO 2
  134.     LPRINT CHR$(10)
  135.     NEXT
  136.     LPRINT CHR$ (27);"X";
  137.     LPRINT "Date";
  138.     LPRINT SPC (18);
  139.     LPRINT"Amount";
  140.     LPRINT SPC(8);
  141.     LPRINT"Outstandin";
  142.     LPRINT CHR$ (27);"Y";
  143.     LPRINT "g"
  144.     LPRINT CHR$(13)
  145.     
  146.  
  147.        FOR x = cnt-1 TO (cnt - seccnt) STEP -1
  148.        IF x = (cnt - seccnt) AND bal <> 0 THEN PrntFinal
  149.        TEXTFACE(0)
  150.        LPRINT datebilled$(x);SPC(10);
  151.        LPRINT USING "$####.##"; billed(x);
  152.        LPRINT SPC(10);
  153.        TEXTFACE(1)
  154.        LPRINT USING "$####.##"; billed(x)
  155.        NEXT
  156.        GOTO Buttonz
  157.  
  158.    PrntFinal:
  159.        partialbilled = billed (x) + bal
  160.        TEXTFACE (0)
  161.        LPRINT datebilled$(x); SPC(10);
  162.        LPRINT USING "$####.##"; billed(x);
  163.        LPRINT SPC (10);
  164.        TEXTFACE (1)
  165.        LPRINT USING "$####.##"; partialbilled
  166.        FOR x = 1 TO 3: LPRINT CHR$(13): NEXT
  167.        GOTO ThatzIt
  168.        
  169.        YourChoyce:
  170.     WINDOW OUTPUT 1
  171.     CLS
  172.     BUTTON 1,1,"monthly activity",(25,50)-(200,100),1
  173.     BUTTON 2,1,"invoices outstanding",(25,120)-(200,170),1
  174.     BUTTON 3,1,"never mind",(25,190)-(200,240),1
  175.     WHILE DIALOG(0)<>1:WEND
  176.     ButtonPushed = DIALOG(1)
  177.     IF ButtonPushed = 1 THEN BUTTON CLOSE 1: BUTTON CLOSE 2: BUTTON CLOSE 3: LOAD "Statement",R:GOTO CodeChk
  178.     IF ButtonPushed = 2 THEN BUTTON CLOSE 1: BUTTON CLOSE 2: BUTTON CLOSE 3: CLEAR: GOTO DimItAll
  179.  
  180.  
  181.   Code:
  182.     CLOSE #1
  183.     OPEN "Customers A" FOR INPUT AS #1
  184.   ReedIt:
  185.     IF EOF(1) THEN CLOSE #1: CLS:TEXTFACE(1):PRINT:PRINT"This customer not on file…":FOR m = 1 TO 2500:NEXT:CLS:RUN
  186.     INPUT #1,CD$,CN$,AD1$,AD2$,AD3$,zp$,ts$
  187.     IF CD$=CO$ THEN CLOSE #1:GOTO SecScreen
  188.     GOTO ReedIt
  189.   ListCodes:
  190. CLS
  191.   Lst:
  192.      OPEN "Customers B" FOR INPUT AS #1
  193.      WINDOW 2,"",(25,50)-(476,280),3
  194.   OpFile:
  195.      TEXTFACE(1)
  196.      IF EOF(1) THEN CLOSE #1:TEXTFACE(0):GOTO NewWndw
  197.      INPUT #1,CD$,CN$,ts$
  198.      PRINT CD$;
  199.      PRINT" - ";CN$
  200.      GOTO OpFile
  201.  
  202.   NewWndw:
  203.  WINDOW 3,"",(25,285)-(476,330),-3
  204.     BUTTON 1,1,"again",(55,10)-(130,35),1
  205.     BUTTON 2,1,"enter info",(192,10)-(267,35),1
  206.     BUTTON 3,1,"quit",(329,10)-(404,35),1
  207.       WHILE DIALOG(0)<>1:WEND
  208.       ButtonPushed = DIALOG(1)
  209.       IF ButtonPushed = 1 THEN Lst
  210.       IF ButtonPushed  = 2 THEN  WINDOW CLOSE 2:WINDOW CLOSE 3:RUN
  211.       IF ButtonPushed  = 3 THEN LOAD "Open Me First",R
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.